home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-02
/
pas2c.zip
/
STD.H
< prev
next >
Wrap
Text File
|
1993-01-04
|
3KB
|
106 lines
/*
STD.H -- portable types
- derived from Whitesmiths & Plum Hall
- for Borland Turbo C
*/
/* pseudo storage classes */
#define FAST register
#define GLOBAL extern
#define IMPORT extern
#define INTERN static
#define LOCAL static
/* ansi storage classes */
#define VOLATILE volatile
#define CONST const
/* Turbo C specific */
#define NEAR near
#define FAR far
#define HUGE huge
#define PASCAL pascal
#define INTERRUPT interrupt
#define CDECL cdecl
#define CS _cs
#define DS _ds
#define ES _es
#define SS _ss
/* pseudo types */
#define STEXT
#ifdef STEXT
typedef char TEXT; /* character */
#else
typedef unsigned char TEXT;
#endif
typedef TEXT TBOOL; /* tiny boolean */
typedef signed char TINY; /* -128..127 */
typedef double DOUBLE; /* double precision floating point */
typedef float FLOAT; /* single precision floating point */
typedef int ARGINT; /* address of argument widened int */
typedef int BOOL; /* boolean */
typedef void VOID; /* no return result */
typedef long LONG; /* wide signed integer, -?..? */
typedef short COUNT; /* counting, -65536..65535 */
typedef short FILEHANDLE; /* file handle from os */
typedef short METACH; /* any character, including eof */
typedef unsigned BYTES; /* indexing any location */
typedef unsigned char UTINY; /* 0..255 */
typedef unsigned long ULONG; /* 0..? */
typedef unsigned short BITS; /* 16 bit flags */
typedef unsigned short UCOUNT; /* 0..65535 */
typedef TEXT TBITS; /* 8 bit flag */
/* common constants */
#define YES 1
#define NO 0
#define TRUE YES
#define FALSE NO
#define FOREVER for(;;)
#define NOTHING
#define NIL (void *)0
/* machine types */
#define BYTMASK 0377
typedef unsigned char BYTE;
typedef unsigned int WORD;
/* system parameters */
#define STDIN 0
#define STDOUT 1
#define STDERR 2
#ifndef EOF
#define EOF (-1)
#endif
/* macros */
/*#define abs(x) ((x) < 0 ? -(x) : (x)) */
/*#define isalpha(c) (islower(c) || isupper(c)) */
/*#define isdigit(c) ('0' <= (c) && (c) <= '9') */
/*#define islower(c) ('a' <= (c) && (c) <= 'z') */
/*#define isupper(c) ('A' <= (c) && (c) <= 'Z') */
/*#define iswhite(c) ((c) <= ' ' || 0177 <= (c)) */
/*#define max(x, y) (((x) < (y)) ? (y) : (x)) */
/*#define min(x, y) (((x) < (y)) ? (x) : (y)) */
/*#define tolower(c) (isupper(c) ? ((c) + ('a' - 'A')) : (c)) */
/*#define toupper(c) (islower(c) ? ((c) - ('a' - 'A')) : (c)) */
/* compiler mode */
#ifdef PASCAL
#ifndef __COMPACT__
#error Modules called from Turbo Pascal MUST use COMPACT model
#endif
/* Pascal uses a 6 byte format for "real" numbers */
typedef struct
{
BYTE real_byte[6];
} PASCAL_REAL;
#endif